supertrendHere is an extensive library on different variations of supertrend.
Library "supertrend"
supertrend : Library dedicated to different variations of supertrend
supertrend_atr(length, multiplier, atrMaType, source, highSource, lowSource, waitForClose, delayed) supertrend_atr: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
length : : ATR Length
multiplier : : ATR Multiplier
atrMaType : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
source : : Default is close. Can Chose custom source
highSource : : Default is high. Can also use close price for both high and low source
lowSource : : Default is low. Can also use close price for both high and low source
waitForClose : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
delayed : : if set to true lags supertrend atr stop based on target levels.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_bands(bandType, maType, length, multiplier, source, highSource, lowSource, waitForClose, useTrueRange, useAlternateSource, alternateSource, sticky) supertrend_bands: Simple supertrend based on atr but also takes into consideration of custom MA Type, sources
Parameters:
bandType : : Type of band used - can be bb, kc or dc
maType : : Moving Average type for Bands. This can be sma, ema, hma, rma, wma, vwma, swma
length : : Band Length
multiplier : : Std deviation or ATR multiplier for Bollinger Bands and Keltner Channel
source : : Default is close. Can Chose custom source
highSource : : Default is high. Can also use close price for both high and low source
lowSource : : Default is low. Can also use close price for both high and low source
waitForClose : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
useTrueRange : : Used for Keltner channel. If set to false, then high-low is used as range instead of true range
useAlternateSource : - Custom source is used for Donchian Chanbel only if useAlternateSource is set to true
alternateSource : - Custom source for Donchian channel
sticky : : if set to true borders change only when price is beyond borders.
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
supertrend_zigzag(length, history, useAlternateSource, alternateSource, source, highSource, lowSource, waitForClose, atrlength, multiplier, atrMaType) supertrend_zigzag: Zigzag pivot based supertrend
Parameters:
length : : Zigzag Length
history : : number of historical pivots to consider
useAlternateSource : - Custom source is used for Zigzag only if useAlternateSource is set to true
alternateSource : - Custom source for Zigzag
source : : Default is close. Can Chose custom source
highSource : : Default is high. Can also use close price for both high and low source
lowSource : : Default is low. Can also use close price for both high and low source
waitForClose : : Considers source for direction change crossover if checked. Else, uses highSource and lowSource.
atrlength : : ATR Length
multiplier : : ATR Multiplier
atrMaType : : Moving Average type for ATR calculation. This can be sma, ema, hma, rma, wma, vwma, swma
Returns: dir : Supertrend direction
supertrend : BuyStop if direction is 1 else SellStop
Pesquisar nos scripts por "high low"
taLibrary "ta"
█ OVERVIEW
This library holds technical analysis functions calculating values for which no Pine built-in exists.
Look first. Then leap.
█ FUNCTIONS
cagr(entryTime, entryPrice, exitTime, exitPrice)
It calculates the "Compound Annual Growth Rate" between two points in time. The CAGR is a notional, annualized growth rate that assumes all profits are reinvested. It only takes into account the prices of the two end points — not drawdowns, so it does not calculate risk. It can be used as a yardstick to compare the performance of two instruments. Because it annualizes values, the function requires a minimum of one day between the two end points (annualizing returns over smaller periods of times doesn't produce very meaningful figures).
Parameters:
entryTime : The starting timestamp.
entryPrice : The starting point's price.
exitTime : The ending timestamp.
exitPrice : The ending point's price.
Returns: CAGR in % (50 is 50%). Returns `na` if there is not >=1D between `entryTime` and `exitTime`, or until the two time points have not been reached by the script.
█ v2, Mar. 8, 2022
Added functions `allTimeHigh()` and `allTimeLow()` to find the highest or lowest value of a source from the first historical bar to the current bar. These functions will not look ahead; they will only return new highs/lows on the bar where they occur.
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `high`.
Returns: (float) The highest value tracked.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
Parameters:
src : (series int/float) Series to track. Optional. The default is `low`.
Returns: (float) The lowest value tracked.
█ v3, Sept. 27, 2022
This version includes the following new functions:
aroon(length)
Calculates the values of the Aroon indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the Aroon-Up and Aroon-Down values.
coppock(source, longLength, shortLength, smoothLength)
Calculates the value of the Coppock Curve indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
longLength (simple int) : (simple int) Number of bars for the fast ROC value (length).
shortLength (simple int) : (simple int) Number of bars for the slow ROC value (length).
smoothLength (simple int) : (simple int) Number of bars for the weigted moving average value (length).
Returns: (float) The oscillator value.
dema(source, length)
Calculates the value of the Double Exponential Moving Average (DEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `source`.
dema2(src, length)
An alternate Double Exponential Moving Average (Dema) function to `dema()`, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The double exponentially weighted moving average of the `src`.
dm(length)
Calculates the value of the "Demarker" indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
ema2(src, length)
An alternate ema function to the `ta.ema()` built-in, which allows a "series float" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int/float) Number of bars (length).
Returns: (float) The exponentially weighted moving average of the `src`.
eom(length, div)
Calculates the value of the Ease of Movement indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
div (simple int) : (simple int) Divisor used for normalzing values. Optional. The default is 10000.
Returns: (float) The oscillator value.
frama(source, length)
The Fractal Adaptive Moving Average (FRAMA), developed by John Ehlers, is an adaptive moving average that dynamically adjusts its lookback period based on fractal geometry.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The fractal adaptive moving average of the `source`.
ft(source, length)
Calculates the value of the Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
ht(source)
Calculates the value of the Hilbert Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
ichimoku(conLength, baseLength, senkouLength)
Calculates values of the Ichimoku Cloud indicator, including tenkan, kijun, senkouSpan1, senkouSpan2, and chikou. NOTE: offsets forward or backward can be done using the `offset` argument in `plot()`.
Parameters:
conLength (int) : (series int) Length for the Conversion Line (Tenkan). The default is 9 periods, which returns the mid-point of the 9 period Donchian Channel.
baseLength (int) : (series int) Length for the Base Line (Kijun-sen). The default is 26 periods, which returns the mid-point of the 26 period Donchian Channel.
senkouLength (int) : (series int) Length for the Senkou Span 2 (Leading Span B). The default is 52 periods, which returns the mid-point of the 52 period Donchian Channel.
Returns: ( [float, float, float, float, float ]) A tuple of the Tenkan, Kijun, Senkou Span 1, Senkou Span 2, and Chikou Span values. NOTE: by default, the senkouSpan1 and senkouSpan2 should be plotted 26 periods in the future, and the Chikou Span plotted 26 days in the past.
ift(source)
Calculates the value of the Inverse Fisher Transform indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
Returns: (float) The oscillator value.
kvo(fastLen, slowLen, trigLen)
Calculates the values of the Klinger Volume Oscillator.
Parameters:
fastLen (simple int) : (simple int) Length for the fast moving average smoothing parameter calculation.
slowLen (simple int) : (simple int) Length for the slow moving average smoothing parameter calculation.
trigLen (simple int) : (simple int) Length for the trigger moving average smoothing parameter calculation.
Returns: ( [float, float ]) A tuple of the KVO value, and the trigger value.
pzo(length)
Calculates the value of the Price Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
rms(source, length)
Calculates the Root Mean Square of the `source` over the `length`.
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The RMS value.
rwi(length)
Calculates the values of the Random Walk Index.
Parameters:
length (simple int) : (simple int) Lookback and ATR smoothing parameter length.
Returns: ( [float, float ]) A tuple of the `rwiHigh` and `rwiLow` values.
stc(source, fast, slow, cycle, d1, d2)
Calculates the value of the Schaff Trend Cycle indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
fast (simple int) : (simple int) Length for the MACD fast smoothing parameter calculation.
slow (simple int) : (simple int) Length for the MACD slow smoothing parameter calculation.
cycle (simple int) : (simple int) Number of bars for the Stochastic values (length).
d1 (simple int) : (simple int) Length for the initial %D smoothing parameter calculation.
d2 (simple int) : (simple int) Length for the final %D smoothing parameter calculation.
Returns: (float) The oscillator value.
stochFull(periodK, smoothK, periodD)
Calculates the %K and %D values of the Full Stochastic indicator.
Parameters:
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
stochRsi(lengthRsi, periodK, smoothK, periodD, source)
Calculates the %K and %D values of the Stochastic RSI indicator.
Parameters:
lengthRsi (simple int) : (simple int) Length for the RSI smoothing parameter calculation.
periodK (simple int) : (simple int) Number of bars for Stochastic calculation. (length).
smoothK (simple int) : (simple int) Number of bars for smoothing of the %K value (length).
periodD (simple int) : (simple int) Number of bars for smoothing of the %D value (length).
source (float) : (series int/float) Series of values to process. Optional. The default is `close`.
Returns: ( [float, float ]) A tuple of the slow %K and the %D moving average values.
supertrend(factor, atrLength, wicks)
Calculates the values of the SuperTrend indicator with the ability to take candle wicks into account, rather than only the closing price.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is false.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
szo(source, length)
Calculates the value of the Sentiment Zone Oscillator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
t3(source, length, vf)
Calculates the value of the Tilson Moving Average (T3).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
t3Alt(source, length, vf)
An alternate Tilson Moving Average (T3) function to `t3()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
vf (simple float) : (simple float) Volume factor. Affects the responsiveness.
Returns: (float) The Tilson moving average of the `source`.
tema(source, length)
Calculates the value of the Triple Exponential Moving Average (TEMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
tema2(source, length)
An alternate Triple Exponential Moving Average (TEMA) function to `tema()`, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The triple exponentially weighted moving average of the `source`.
trima(source, length)
Calculates the value of the Triangular Moving Average (TRIMA).
Parameters:
source (float) : (series int/float) Series of values to process.
length (int) : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `source`.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a "series int" length argument.
Parameters:
src : (series int/float) Series of values to process.
length : (series int) Number of bars (length).
Returns: (float) The triangular moving average of the `src`.
trix(source, length, signalLength, exponential)
Calculates the values of the TRIX indicator.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Length for the smoothing parameter calculation.
signalLength (simple int) : (simple int) Length for smoothing the signal line.
exponential (simple bool) : (simple bool) Condition to determine whether exponential or simple smoothing is used. Optional. The default is `true` (exponential smoothing).
Returns: ( [float, float, float ]) A tuple of the TRIX value, the signal value, and the histogram.
uo(fastLen, midLen, slowLen)
Calculates the value of the Ultimate Oscillator.
Parameters:
fastLen (simple int) : (series int) Number of bars for the fast smoothing average (length).
midLen (simple int) : (series int) Number of bars for the middle smoothing average (length).
slowLen (simple int) : (series int) Number of bars for the slow smoothing average (length).
Returns: (float) The oscillator value.
vhf(source, length)
Calculates the value of the Vertical Horizontal Filter.
Parameters:
source (float) : (series int/float) Series of values to process.
length (simple int) : (simple int) Number of bars (length).
Returns: (float) The oscillator value.
vi(length)
Calculates the values of the Vortex Indicator.
Parameters:
length (simple int) : (simple int) Number of bars (length).
Returns: ( [float, float ]) A tuple of the viPlus and viMinus values.
vzo(length)
Calculates the value of the Volume Zone Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
williamsFractal(period)
Detects Williams Fractals.
Parameters:
period (int) : (series int) Number of bars (length).
Returns: ( [bool, bool ]) A tuple of an up fractal and down fractal. Variables are true when detected.
wpo(length)
Calculates the value of the Wave Period Oscillator.
Parameters:
length (simple int) : (simple int) Length for the smoothing parameter calculation.
Returns: (float) The oscillator value.
█ v7, Nov. 2, 2023
This version includes the following new and updated functions:
atr2(length)
An alternate ATR function to the `ta.atr()` built-in, which allows a "series float" `length` argument.
Parameters:
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The ATR value.
changePercent(newValue, oldValue)
Calculates the percentage difference between two distinct values.
Parameters:
newValue (float) : (series int/float) The current value.
oldValue (float) : (series int/float) The previous value.
Returns: (float) The percentage change from the `oldValue` to the `newValue`.
donchian(length)
Calculates the values of a Donchian Channel using `high` and `low` over a given `length`.
Parameters:
length (int) : (series int) Number of bars (length).
Returns: ( [float, float, float ]) A tuple containing the channel high, low, and median, respectively.
highestSince(cond, source)
Tracks the highest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the highest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `high`.
Returns: (float) The highest `source` value since the last time the `cond` was `true`.
lowestSince(cond, source)
Tracks the lowest value of a series since the last occurrence of a condition.
Parameters:
cond (bool) : (series bool) A condition which, when `true`, resets the tracking of the lowest `source`.
source (float) : (series int/float) Series of values to process. Optional. The default is `low`.
Returns: (float) The lowest `source` value since the last time the `cond` was `true`.
relativeVolume(length, anchorTimeframe, isCumulative, adjustRealtime)
Calculates the volume since the last change in the time value from the `anchorTimeframe`, the historical average volume using bars from past periods that have the same relative time offset as the current bar from the start of its period, and the ratio of these volumes. The volume values are cumulative by default, but can be adjusted to non-accumulated with the `isCumulative` parameter.
Parameters:
length (simple int) : (simple int) The number of periods to use for the historical average calculation.
anchorTimeframe (simple string) : (simple string) The anchor timeframe used in the calculation. Optional. Default is "D".
isCumulative (simple bool) : (simple bool) If `true`, the volume values will be accumulated since the start of the last `anchorTimeframe`. If `false`, values will be used without accumulation. Optional. The default is `true`.
adjustRealtime (simple bool) : (simple bool) If `true`, estimates the cumulative value on unclosed bars based on the data since the last `anchor` condition. Optional. The default is `false`.
Returns: ( [float, float, float ]) A tuple of three float values. The first element is the current volume. The second is the average of volumes at equivalent time offsets from past anchors over the specified number of periods. The third is the ratio of the current volume to the historical average volume.
rma2(source, length)
An alternate RMA function to the `ta.rma()` built-in, which allows a "series float" `length` argument.
Parameters:
source (float) : (series int/float) Series of values to process.
length (float) : (series int/float) Length for the smoothing parameter calculation.
Returns: (float) The rolling moving average of the `source`.
supertrend2(factor, atrLength, wicks)
An alternate SuperTrend function to `supertrend()`, which allows a "series float" `atrLength` argument.
Parameters:
factor (float) : (series int/float) Multiplier for the ATR value.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
wicks (simple bool) : (simple bool) Condition to determine whether to take candle wicks into account when reversing trend, or to use the close price. Optional. Default is `false`.
Returns: ( [float, int ]) A tuple of the superTrend value and trend direction.
vStop(source, atrLength, atrFactor)
Calculates an ATR-based stop value that trails behind the `source`. Can serve as a possible stop-loss guide and trend identifier.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (simple int) : (simple int) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
vStop2(source, atrLength, atrFactor)
An alternate Volatility Stop function to `vStop()`, which allows a "series float" `atrLength` argument.
Parameters:
source (float) : (series int/float) Series of values that the stop trails behind.
atrLength (float) : (series int/float) Length for the ATR smoothing parameter calculation.
atrFactor (float) : (series int/float) The multiplier of the ATR value. Affects the maximum distance between the stop and the `source` value. A value of 1 means the maximum distance is 100% of the ATR value. Optional. The default is 1.
Returns: ( [float, bool ]) A tuple of the volatility stop value and the trend direction as a "bool".
Removed Functions:
allTimeHigh(src)
Tracks the highest value of `src` from the first historical bar to the current bar.
allTimeLow(src)
Tracks the lowest value of `src` from the first historical bar to the current bar.
trima2(src, length)
An alternate Triangular Moving Average (TRIMA) function to `trima()`, which allows a
"series int" length argument.
Auto Fibonacci and Gann Fan/Retracements ComboIntroduction
This is a combination of Fibonacci and Gann fan/retracements.
The script can automatically draw as many:
Fibonacci Retracements
Fibonacci Fan
Gann Retracements
Gann Fan
as the user requires on the chart. Each level set or fan consists of 7 lines based on the most important ratios of Fibonacci/Gann.
Basics
What are Fibonacci retracements?
Fibonacci retracement levels are horizontal lines that indicate where support and resistance are likely to occur. They stem from Fibonacci’s sequence. Each level is associated with a percentage which is how much of a prior move the price has retraced. The Fibonacci retracement levels are 23.6%, 38.2%, 61.8%, and 78.6%. While not officially a Fibonacci ratio, 50% is also used. The indicator is useful because it can be drawn between any two significant price points, such as a high and a low. The indicator will then create the levels between those two points.
What are Gann retracements?
A developer of technical analysis and trading was W.D. Gann. Gann theory expects a normal retracement of 50 percent. This means that under normal selling pressure, the stock price will decline half the amount of its most recent rise, and vice versa. It also suggests that retracements occur at the halfway point of a move, such as 25 percent (half of 50 percent), 12.5 percent (half of 25 percent), and so on.
What is Fibonacci fan?
Fibonacci fan is a set of sequential trend lines drawn from a trough or peak through a set of points dictated by Fibonacci retracements. The first step to create it is to draw a trend line covering the local lowest and highest prices of a security. To reach retracement levels, the trader divides the difference in price at the low and high end by ratios determined by the Fibonacci series. The lines formed by connecting the starting point for the base trend line and each retracement level create the Fibonacci fan.
What is Gann fan?
A Gann fan consists of a series of lines called Gann angles. These angles are superimposed over a price chart to show potential support and resistance levels. The resulting image is supposed to help technical analysts predict price changes. Gann believed the 45-degree angle to be most important, but the Gann fan also draws angles at degrees like 75, 63.75, 26.25 and 15. The Gann fan originates at a low or high point. The resulting lines show areas of potential future support and resistance. The 45-degree line is known as the 1:1 line because the price will rise or fall at a 45-degree angle when the price moves up/down one unit for each unit of time. All other lines in the Gann fan are drawn above and below the 1:1 line. The other angles are associated with 2:1, 3:1, 4:1, 8:1 and 1:8, 1:4, 1:3, and 1:2 time-to-price moves.
Challenges
The most of the time I dedicated to writing this script has been spent on handling these problems:
1. Finding Local Highest/Lowest Prices
In order to draw Fibonacci and Gann fan/retracements, it's necessary to find local highest and lowest price points (Extrema) on the chart. As this could be so challenging, most traders and coders draw the lines covering the low and high prices over a given period of time or a limited number of bars back instead. I already wrote an indicator using this approach ( Auto Fibonacci Combo ).
In this new script I tried to find the exact highest and lowest prices based on this idea that: if a high point is formed lower than previous high which was after a lowest point, then that previous one was the local highest point, and vice versa if a low point is formed higher than previous low which was after a highest point, then that previous one was the local lowest point. So logically an extremum price on the chart won't be found until the next high/low point is formed.
2. Finding Proper Chart Scale for Gann Fan
Based on the theory, Gann angles are sensitive to the chart price scale and in order to have the right angles, the chart must be made with the proper scale. J.A. Hyerczyk in his book "Pattern, Price & Time - Using Gann Theory in Technical Analysis" suggests that the easiest way to determine the scale of a market is by taking the difference between top-to-top and bottom-to-bottom and dividing it by the time it took the market to move from top to top and bottom to bottom.
Thus on a properly constructed chart, the basic equation for calculating Gann angles is: Price * Time.
3. Drawing Fans and Relocating Fan Labels at Each New Bar in Pine (A Programming-Related Subject)
To do this, I used linear equations and line slopes. Of course it was so complicated and exhausting, but finally I overcame that thanks to my genius cousin.
Settings and Usage
By default, the script shows detected extremum points plus 1 Fibonacci fan, 1 Gann fan, 1 set of Fibonacci retracements and no Gann retracements on the chart. All of these could be changed in the indicator settings beside the color and transparency of each line.
Feel free to use this and send me your thoughts!
My:HTF O/H/L/C█ MY Higher Time Frame Open / High / Low / Close
This indicator shows one line per Higher Time Frame Price of Interest.
We are interested to know whether we are currently seeing support or resistance at previous daily / weekly / monthly price of interest.
Each price of interest can be displayed or hidden in the configuration. Each line has a label attached to it with the (short) label on it to help identifying what is this line.
Price of interest with (short) label :
Current Daily Open (CDO)
Current Daily High (CDH)
Current Daily Low (CDL)
Previous Daily Open (PDO)
Previous Daily High (PDH)
Previous Daily Low (PDL)
Previous Daily Close (PDC)
Current Weekly Open (CWO)
Current Weekly High (CWH)
Current Weekly Low (CWL)
Previous Weekly Open (PWO)
Previous Weekly High (PWH)
Previous Weekly Low (PWL)
Previous Weekly Close (PWC)
Current Monthly Open (CMO)
Current Monthly High (CMH)
Current Monthly Low (CML)
Previous Monthly Open (PMO)
Previous Monthly High (PMH)
Previous Monthly Low (PML)
Previous Monthly Close (PMC)
Volume EffectivenessI have been trying to work with volume as an indicator for quite some time, as it holds qualities as a 'leading indicator'.
However, please note that any indicator which to some extent predict a future trend has its issues as it can be misleading.
But, in some datasets in a selected timeframe the leading properties of volume as an indicator are useful.
So this script is not too complicated. It shows a numeric which resembles the 'effectiveness of volume' in moving price.
For example, if a small volume creates a large price change - the Volume Effectiveness indicator will be high and show a spike
Whereas, if a large volume creates a small price change - the Volume Effectiveness indicator will be low
I used 3 metrics to represent Volume Effectiveness (these are different colors on the bar chart)
One price difference is the absolute(high - low) for each bar
Another is the absolute(open - close)
The 'open-close' is smaller than the 'high-low', so note this when viewing the bar charts
The final metric depends on if the open is greater than the close or vice-versa
But it considers the 'absolute(high-low)' and the difference between the open and the high (or low) and the close and the low (or high)
So the final metric is the largest of the 3 metrics and is generally the most useful of the 3 however, the other 2 are displayed to provide a better understanding of what 'Volume Effectiveness' displays
Note, I use absolute values so they are only positive, i.e. there are no negative values to represent a price drop within a bar
So, why is this indicator useful - its because volume is a leading indicator
A decreasing volume tends to suggest a price change is coming
Also, when the volume within a bar is very small, its Volume Effectiveness tends to go very high
That means a small trade volume creates a relatively large change in price
This is ideal conditions for a big pump (or big dump - although this indicator seems to work better before pumps)
A large spike in the Volume Effectiveness is commonly/sometimes preceding a big pump
So watch this indicator - and if there is a big spike - evaluate other market conditions to consider getting into position
Large spikes in the Volume Effectiveness can precede big price changes and therefore can provide a leading indication before a pump or dump
Timeframe is important - I found on the daily timeframe this indicator did not provide sufficient lead to be useful. Similarly on the <15min timeframe the spikes were not highly correlated with pumps/dumps
However, in medium timeframes (15mins, 1hour, 4hours) this indicator can be useful for predicting sizeable price changes.
Gunzo Market SRGunzo Market SR is a set of 3 tools combined for trend analysis on day trading strategy.
VWAP (Volume Weighted Average Price) :
The VWAP indicator is generally used for trend analysis. For example if the VWAP line is under the closing price for a long period of time, the trend is strong. In this script, the VWAP has been optimized for day trading as the indicator is calculated inside the daily range, and resets when a new day starts. This way the indicator reflects the daily trend and not the overall trend. You can also use the position of closing price according to the VWAP to find optimal entry points according to the indicator.
Highs / Lows :
The Highs / Lows are generally used for trend analysis too. The High / Lows are mainly used to identify prices that have been key during the past and that we can use as an indication for the following candles. In this script, the Highs / Lows are computed on the daily period and then displayed on the current period (recommended to use on a daily period or lower). This way the indicator reflects the highest point and the lowest point of the day (can be modified to have a longer range of pivot days even if I recommend to stay on 1 day for day trading).
Support / Resistance :
The Support / Resistance is generally used for trend analysis too. The Support / Resistance are found by searching local high and lows. The longer the supports and resistance are, the strongest it can be considered. In this script, the Highs / Lows are computed by default on a lower time frame (usually 3-4 times lower). For example on a 15 minute graph, the Highs / Lows will be computed on the 5 minute graph (can be modified if the displayed result is not optimized for your asset).
How to use this set of tools :
I personally recommend to use this tool at the start of your day of trading. This way you will get a clear vision of the daily situation and try to identify key prices and the trend for the current day. I then suggest to set up an alert on the key price to be notified when you're getting close to it.
HhLl-OscilatorSimple oscillator which checks how many highs and how many lows the price is making. Parameters are as explained below:
lookback - Checks how many highs and lows it is making in these many bars. Sum of all highs and lows are taken for plotting.
periods - Initial period to check high and lows
multiples - Number of multiples on initial period for which highs and lows are checked
colorCandles - CandleColor based on the oscillator
If periods is 20 and multiples is 5 and loopback is 10
Indicator checks for last 10 bars how many highs/lows are made for 20, 40, 60, 80 and 100 periods. Sum of all highs and lows are plotted on the oscillator overlay
Expanded Floor PivotsHello Everyone,
The Expanded Floor Pivots is introduced in the book "Secrets of a Pivot Boss: Revealing Proven Methods for Profiting in the Market " by Franklin Ochoa. He added four new levels: S4, R4, BC and TC. There are many great ideas in the book, such using these levels, following trend, time price opportunity and much more. (Thanks to @tonyjab for pushing me to read this book)
The definition/formula of the levels defined in the book:
r1 = 2 * pivot - Low
r2 = pivot + (High - Low)
r3 = r1 + (High - Low)
r4 = r3 + (r2 - r1)
tc = (pivot - bc) + pivot
pivot = (High + Low + Close) / 3
bc = (High + Low) / 2
s1 = 2 * pivot - High
s2 = pivot - (High - Low)
s3 = s1 - (High - Low)
s4 = s3 - (s1 - s2)
The area between TC and BC is used as Pivot Channel, (blue area in the chart). you can see how it helps on identifying the trend.
Options:
By default the script decides Higher Time Frame but if you want you can set HTF as you wish.
You can choose line style as: Solid, Circles or Cross
and also you have option to show only last period or all historical levels.
Enjoy!
Volume Profile Free Ultra SLI (100 Levels Value Area VWAP) - RRBVolume Profile Free Ultra SLI by RagingRocketBull 2019
Version 1.0
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 100 horizontal bars.
This is basically the MAX SLI version with +50 more Pinescript v4 line objects added as levels.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free Ultra SLI, Free History. This is the Free Ultra SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free Ultra SLI: 100 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 300 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 100 levels (line implementation)
- 2x SLI modes for even higher res: 300 levels with 3x vertical SLI, 100 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels, Transparency for buy/sell levels
WARNING:
- Compilation Time: 1 min 20 sec
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz Buy/Sell SLI mode with 100 or Vertical SLI with 300 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 100 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 300 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range and may be inaccurate. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work (you can have a mixed mode: 2nd instance - auto, 3rd - manual)
Notes:
- This code uses Pinescript v3 compatibility framework
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 4-5 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- 100 levels consist of 50 main plot levels and 50 line objects used as alternate levels, differences are:
- line objects are always shown on top of other objects, such as plot levels, zero line and side cover, it's not possible to cover/move them below.
- all line objects have variable lengths, use actual x,y coords and don't need side cover, while all plot levels have a fixed length of 100 bars, use offset and require cover.
- all key properties of line objects, such as x,y coords, color can be modified, objects can be moved/deleted, while this is not possible for static plot levels.
- large width values cause line objects to expand only up/down from center while their length remains the same and stays within the level's start/end points similar to an area style.
- large width values make plot levels expand in all directions (both h/v), beyond level start/end points, sometimes overlapping zero line, making them an inaccurate % length representation, as opposed to line objects/plot levels with area style.
- large width values translate into different widths on screen for line objects and plot levels.
- you can't compensate for this unwanted horiz width expansion of plot levels because width uses its own units, that don't translate into bars/pixels.
- line objects are visible only when num_levels > 50, plot levels are used otherwise
- Since line objects are lines, plot levels also use style line because other style implementations will break the symmetry/spacing between levels.
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- You can change level transparency of line objects. Due to Pinescript limitations, only discrete values are supported.
- Inverse transp correlation creates the necessary illusion of "covered" line objects, although they are shown on top of the cover all the time
- If custom lines_transp is set the illusion will break because transp range can't be skewed easily (i.e. transp 0..100 is always mapped to 100..0 and can't be mapped to 50..0)
- transparency can applied to lines dynamically but nva top zone can't be completely removed because plot/mixed type of levels are still used when num_levels < 50 and require cover
- transparency can't be applied to plot levels dynamically from script this can be done only once from UI, and you can't change plot color for the past length bars
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- Range selection/Anchoring is not accurate on charts with time gaps since you can only anchor from a point in the future and measure distance in time periods, not actual bars, and there's no way of knowing the number of future gaps in advance.
- Adjust Width for Log Scale mode now also works on high precision charts with small prices (i.e. 0.00001)
- in Adjust Width for Log Scale mode Level1 width extremes can be capped using max deviation (when level1 = 0, shift = 0 width becomes infinite)
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. I am your grandfather, Luke! Now, join the Dark Side in your father's steps or be destroyed! Once more the Sith will rule the Galaxy, and we shall have peace...
Volume Profile Free MAX SLI (50 Levels Value Area VWAP) by RRBVolume Profile Free MAX SLI by RagingRocketBull 2019
Version 1.0
All available Volume Profile Free MAX SLI versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: style columns implementation
ver 2.0: style histogram implementation
ver 3.0: style line implementation
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 50 horizontal bars.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free History. This is the Free MAX SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 50 levels (3 implementations)
- 20-30x faster than the old Pro versions especially on lower tfs with long history
- 2x SLI modes for even higher res: 150 levels with 3x vertical SLI, 50 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels and Transparency for buy/sell levels
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz SLI mode for 50 Buy/Sell or Vertical SLI for 150 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
- use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 50 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 150 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work
Notes:
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 2-3 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- hist_base for levels still results is ugly redraw
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only plot transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. Gravitonium Levels Are Increasing. Unobtainium is nowhere to be found!
Links on Volume Profile and Value Area calculation and usage:
www.tradingview.com
stockcharts.com
onlinelibrary.wiley.com
Volume Profile Free Pro (25 Levels Value Area VWAP) by RRBVolume Profile Free Pro by RagingRocketBull 2019
Version 1.0
All available Volume Profile Free Pro versions are listed below (They are very similar and I don't want to publish them as separate indicators):
ver 1.0: style columns implementation
ver 2.0: style histogram implementation
ver 3.0: style line implementation
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 25 horizontal bars.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are 3 basic methods to calculate the Value Area for a session.
- original method developed by Steidlmayr (calculated around POC)
- classical method using StdDev (calculated around the mean VWAP)
- another method based on the mean absolute deviation (calculated around the median)
POC is a high volume node and can be used as support/resistance. But when far from the day's average price it may not be as good a trend filter as the other methods.
The 80% Rule: When the market opens above/below the Value Area and then returns/stays back inside for 2 consecutive 30min periods it has 80% chance of filling VA (like a gap).
There are several versions: Free, Free Pro, Free MAX. This is the Free Pro version. The Differences are listed below:
- Free: 30 levels, Buy/Sell/Total Volume Profile views, POC
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX: 50 levels, packed to the limit
Features:
- Volume Profile with up to 25 levels (3 implementations)
- POC, Developing POC Levels
- Buy/Sell/Total/Side by Side View modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels and Transparency for buy/sell levels
Usage:
- specify max_level/min_level for a range (required in ver 1.0/2.0, auto/optional in ver 3.0 = set to highest/lowest)
- select range (start_bar, range length), confirm with range highlighting
- select mode Value Area or VWAP to show corresponding levels.
- flip/select anchor point to position the buy/sell levels, adjust width and spacing as needed
- select Buy/Sell/Total/Side by Side view mode
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
- Green - buy volume of a specific price level in a range, Red - sell volume. Green + Red = Total volume of a price level in a range
There's no native support for vertical histograms in Pinescript (with price axis as base)
Basically, there are 4 ways to plot a series of horizontal bars stacked on top of each other:
1. plotshape style labeldown (ver 0 prototype discarded)
- you can have a set of fixed width/height text labels consisting of a series of underscores and moving dynamically as levels. Level offset controls visible length.
- you can move levels and scale the base width of the volume profile histogram dynamically
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- you can't fill the gaps between levels/adjust/extend width, height - this results in a half baked volume profile and looks ugly
- fixed text level height doesn't adjust and looks bad on a log scale
- fixed font width also doesn't scale and can't be properly aligned with bars when zooming
2. plot style columns + hist_base (ver 1.0)
- you can plot long horizontal bars using a series of small adjacent vertical columns with level offsets controlling visible length.
- you can't hide/move levels of the volume profile histogram dynamically on each bar, they must be plotted at all times regardless - you can't delete the history of a plot.
- you can't scale the base width of the volume profile histogram dynamically, can't set show_last from input, must use a preset fixed width for each level
- hist_base can only be a static const expression, can't be assigned highest/lowest range values automatically - you have to specify max_level/min_level manually from input
- you can't control spacing between columns - there's an equalizer bar effect when you zoom in, and solid bars when you zoom out
- using hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- level top can be properly aligned with another level's bottom producing a clean good looking histogram
- columns are properly aligned with bars automatically
3. plot style histogram + hist_base (ver 2.0)
- you can plot long horizontal bars using a series of small vertical bars (horizontal histogram) instead of columns.
- you can control the width of each histogram bar comprising a level (spacing/horiz density). Large enough width will cause bar overlapping and give level a "solid" look regardless of zoom
- you can only set width <= 4 in UI Style - custom textbox input is provided for larger values. You can set width and plot transparency from input
- this method still uses hist_base and inherits other limitations of ver 2.0
4. plot style lines (ver 3.0)
- you can also plot long horizontal bars using lines with level offsets controlling visible length.
- lines don't need hist_base - fast and smooth redraw times
- you can calculate the highest/lowest range values automatically. max_level/min_level inputs are optional
- level top can't be properly aligned with another level's bottom and have a proper spacing because line width uses its own units and doesn't scale
- fixed line width of a level (vertical thickness) doesn't scale and looks bad on log (level overlapping)
- you can only set width <= 4 in UI Style, a custom textbox input is provided for larger values. You can set width and plot transparency from input
Notes:
- hist_base for levels results in ugly load/redraw times - give it 3-5 sec to finalize its shape after each UI param change
- indicator is slow on TFs with long history 10000+ bars
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed width. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Widh for levels - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors (only plot transparency) - this requires 2x plot outputs exceeding max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- Use Side by Side view to compare buy and sell volumes between each other: base width = max(total_buy_vol, total_sell_vol)
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input
- Sell Offset is calculated relative to Buy Offset to stack/extend sell on top of buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- If you see "loop too long error" - change some values in UI and it will recalculate - no need to refresh the chart
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
- Volume Profile Range is limited to 5000 bars for free accounts
P.S. Cantaloupia Will be Free!
Links on Volume Profile and Value Area calculation and usage:
www.tradingview.com
stockcharts.com
onlinelibrary.wiley.com
PPSRMA -COMPILATION OF 2 GREAT SCRIPTS AND DOUBLE MAFirst of all I just did the compilation so this is not my idea, it is just a miscellany.
This script has been compiled for authors who have just been introduced to scripts : for unloading and leaving room for other indicators especially:non-pro users needs space for indicators and users seeking best technical combination. This script says thousands of comments.
It's the best combination I've ever try and see everything about future. All efforts belongs to ChrisMoody.
( And fernandofurtado for double moving average codes)
--------------- INGREDIENTS ------------------
1-) Price Action Bars - Price Patterns - CM_Price-Action-Bars-Price Patterns That Work! ( by ChrisMoody )
Original :
2-) Oldschool Projected High & Lows - CM_OldSchool_Projected_high_Low ( by ChrisMoody )
Original :
3-) Multiple Moving Averages - ( by fernandofurtado )
Original :
---------- SETTINGS- -----------
- Use dark theme
- Select SMA fast : 25 SMA slow : 50 ( Inputs)
- Tick all inputs and see price action bars ( Inputs)
FOR FLOW TRADERS :
** Use 30 mins graphs with - Weekly Projected High & Lows
*** Choose high liquidity stocks ( Bank stocks etc.)
FOR MEDIUM - LONG TERM TRADERS AND INVESTORS
** Use 4 hour graphs with - Quarterly Projected High & Lows OR
** 1 day graphs with - Yearly Projected High &Lows ( OR Quarterly Projected High & Lows )
------------------- SUGGESTIONS --------------------
* Add MACD (12,26) and RSI (14) in your empty slots.
* Use mostly on stock markets.
* Be careful about stocks under red breakout line are dangerous same as above green breakout levels.
* Always consider with all indicators and patterns (especially price patterns), get confirmed from Volume.
* Consider with financial analysis ( mostly for medium-long term )
NOTE : The authors' codes are specified on scripts source codes.
PivotBoss Outside Reversal SetupPATTERN SUMMARY
1. The engulfing bar of a bullish outside reversal setup has a low that is below the prior bar's low (L < L ) and a
close that is above the prior bar's high (C > H ).
2. The engulfing bar of a bearish outside reversal setup has a high that is above the prior bar's high (H > H )
and a close that is below the prior bar's low (C < L ).
3. The engulfing bar is usually 5 to 25 percent larger than the size of the average bar in the lookback period.
PATTERN PSYCHOLOGY
The power behind this pattern lies in the psychology behind the traders involved in this setup. If you have
ever participated in a breakout at support or resistance only to have the market reverse sharply against you, then
you are familiar with the market dynamics of this setup. What exactly is going on at these levels? To understand
this concept is to understand the outside reversal pattern. Basically, market participants are testing the waters
above resistance or below support to make sure there is no new business to be done at these levels. When no
initiative buyers or sellers participate in range extension, responsive participants have all the information they
need to reverse price back toward a new area of perceived value.
As you look at a bullish outside reversal pattern, you will notice that the current bar's low is lower than the
prior bar's low. Essentially, the market is testing the waters below recently established lows to see if a downside
follow-through will occur. When no additional selling pressure enters the market, the result is a flood of buying
pressure that causes a springboard effect, thereby shooting price above the prior bar's highs and creating the
beginning of a bullish advance.
If you recall the child on the trampoline for a moment, you'll realize that the child had to force the bounce
mat down before he could spring into the air. Also, remember Jennifer the cake baker? She initially pushed price
to $20 per cake, which sent a flood of orders into her shop. The flood of buying pressure eventually sent the price
of her cakes to $35 apiece. Basically, price had to test the $20 level before it could rise to $35.
Let's analyze the outside reversal setup in a different light for a moment. One of the reasons I like this setup
is because the two-bar pattern reduces into the wick reversal setup, which we covered earlier in the chapter. If
you are not familiar with candlestick reduction, the idea is simple. You are taking the price data over two or more
candlesticks and combining them to create a single candlestick. Therefore, you will be taking the open, high, low,
and close prices of the bars in question to create a single composite candlestick.
Take a look at Figure 2.13, which illustrates the candlestick reduction of the outside reversal setup.
Essentially, taking the highest high and the lowest low over the two-bar period gives you the range of the
composite candlestick. Then, taking the opening price of the first candle and the closing price of the last candle
will finish off the composite candlestick. Depending on the structure of the bars of the outside reversal setup, the
result of the candlestick reduction will usually be the transformation into a wick reversal setup, which we know to
be quite powerful. Therefore, in many cases the physiology of the outside reversal pattern basically demonstrates
the inherent psychological traits of the wick reversal pattern. This is just another level of analysis that reinforces
my belief in the outside reversal setup.
Float Rotation TrackerFloat Rotation Tracker - Quick Reference Guide
What is Float Rotation?
Float Rotation = Cumulative Daily Volume ÷ Float
Example:
Float = 5,000,000 shares
Day Volume = 7,500,000 shares
Rotation = 7.5M ÷ 5M = 1.5x (150%)
When rotation hits 1x (100%), every available share has theoretically changed hands at least once during the trading day.
Why It Matters
RotationMeaningImplication0.5x50% of float tradedInterest building1.0x 🔥Full rotationExtreme interest confirmed2.0x 🔥🔥Double rotationVery high volatility3.0x 🔥🔥🔥Triple rotationRare - maximum volatility
Key insight: High rotation on a low-float stock = explosive potential
Float Classification
Float SizeClassificationRotation Impact≤ 2M🔥 MICROExtremely volatile, fast rotation≤ 5M🔥 VERY LOWExcellent momentum potential≤ 10MLOWGood for rotation plays> 10MNORMALNeeds massive volume to rotate
Rule of thumb: Focus on stocks with float under 10M for meaningful rotation signals.
Reading the Indicator
Rotation Line (Yellow)
Shows current rotation level
Rises throughout the day as volume accumulates
Crosses horizontal level lines at milestones
Level Lines
LineColorMeaning0.5Gray dotted50% rotation1.0Orange solidFull rotation2.0Red solidDouble rotation3.0Fuchsia solidTriple rotation
Volume Bars (Bottom)
ColorMeaningGrayBelow average volumeBlueNormal volume (1-2x avg)GreenHigh volume (2-5x avg)LimeExtreme volume (5x+ avg)
Milestone Markers
Circles appear when rotation crosses key levels
Labels show "50%", "1x", "2x", "3x🔥"
Background Color
Changes as rotation increases
Darker = higher rotation level
Info Table Explained
FieldDescriptionFloatShare count + classification (MICRO/LOW/NORMAL)SourceAuto ✓ = TradingView data / Manual = user enteredRotationCurrent rotation with emoji indicatorRotation %Same as rotation × 100Day VolumeCumulative volume todayTo XxVolume needed to reach next milestoneBar RVolCurrent bar's relative volumeMilestonesWhich levels have been hit todayPer RotationShares equal to one full rotationEst. TimeBars until next milestone (at current pace)
Trading with Float Rotation
Entry Signals
Early Entry (Higher Risk, Higher Reward)
Rotation approaching 0.5x
Strong price action (bull flag, breakout)
Rising relative volume bars
Confirmation Entry (Lower Risk)
Rotation at or above 1x
Price holding above VWAP
Continuous green/lime volume bars
Late Entry (Highest Risk)
Rotation above 2x
Only enter on clear pullback pattern
Tight stop required
Exit Signals
Warning Signs:
Rotation very high (2x+) with declining volume bars
Reversal candle after milestone
Price breaking below key support
Volume bars turning gray/blue after being green/lime
Take Profits:
Partial profit at each rotation milestone
Trail stop as rotation increases
Full exit on reversal pattern after 2x+ rotation
Best Setups
Ideal Float Rotation Play
✓ Float under 10M (preferably under 5M)
✓ Stock up 5%+ on the day
✓ News catalyst driving interest
✓ Rotation approaching or exceeding 1x
✓ Price above VWAP
✓ Volume bars green or lime
✓ Clear chart pattern (bull flag, flat top)
Red Flags to Avoid
✗ Float over 50M (hard to rotate meaningfully)
✗ Rotation high but price declining
✗ Volume bars turning gray after spike
✗ No clear catalyst
✗ Price below VWAP with high rotation
✗ Late in day (3pm+) after 2x rotation
Float Data Sources
If auto-detect doesn't work, get float from:
SourceHow to FindFinvizfinviz.com → ticker → "Shs Float"Yahoo FinanceFinance.yahoo.com → Statistics → "Float"MarketWatchMarketwatch.com → ticker → ProfileYour BrokerUsually in stock details/fundamentals
Note: Float can change due to offerings, buybacks, lockup expirations. Check recent data.
Settings Guide
Conservative Settings
Alert Level 1: 0.75 (75%)
Alert Level 2: 1.0 (100%)
Alert Level 3: 2.0 (200%)
Alert Level 4: 3.0 (300%)
High Vol Multiplier: 2.0
Extreme Vol Multiplier: 5.0
Aggressive Settings
Alert Level 1: 0.3 (30%)
Alert Level 2: 0.5 (50%)
Alert Level 3: 1.0 (100%)
Alert Level 4: 2.0 (200%)
High Vol Multiplier: 1.5
Extreme Vol Multiplier: 3.0
Alert Setup
Recommended Alerts
100% Rotation (1x) - Primary signal
Most important milestone
Confirms extreme interest
High Rotation + Extreme Volume
Combined condition
Very high probability signal
How to Set
Right-click chart → Add Alert
Condition: Float Rotation Tracker
Select desired milestone
Set notification (popup/email/phone)
Set expiration
Common Questions
Q: Why is my float showing "Manual (no data)"?
A: TradingView doesn't have float data for this stock. Enter the float manually in settings after looking it up on Finviz or Yahoo Finance.
Q: The rotation seems too high/low - is the float wrong?
A: Possibly. Cross-check float on Finviz. Recent offerings or share structure changes may not be reflected in TradingView's data.
Q: What if float rotates early in the day?
A: Early 1x rotation (within first hour) is very bullish - indicates massive interest. Watch for continuation patterns.
Q: High rotation but price is dropping?
A: This is distribution - large holders are selling into demand. High rotation doesn't guarantee price direction, just volatility.
Q: Can I use this for swing trading?
A: The indicator resets daily, so it's designed for intraday use. You could note multi-day rotation patterns manually.
Quick Decision Matrix
RotationPrice ActionVolumeDecision<0.5xStrong upHighWatch, early stage0.5-1xConsolidatingSteadyPrepare entry1x+Breaking outIncreasingEntry on pattern1x+DroppingHighAvoid - distribution2x+Strong upExtremePartial profit, trail stop2x+Reversal candleDecliningExit or avoid
Workflow Integration
MORNING ROUTINE:
1. Scan for gappers (5%+, high volume)
2. Check float on each candidate
3. Apply Float Rotation Tracker
4. Prioritize lowest float with building rotation
DURING SESSION:
5. Watch rotation levels on active trades
6. Enter on patterns when rotation confirms (0.5-1x)
7. Scale out as rotation increases
8. Exit or trail after 2x rotation
END OF DAY:
9. Note which stocks hit 2x+ rotation
10. Review rotation vs price action
11. Learn patterns for future trades
Combining with Other Indicators
IndicatorHow to Use Together5 PillarsScreen for low-float stocks firstGap & GoCheck rotation on gappersBull FlagEnter bull flags with 1x+ rotationVWAPOnly trade rotation plays above VWAPRSIWatch for divergence at high rotation
Key Takeaways
Float size matters - Lower float = faster rotation = more volatility
1x is the key level - Full rotation confirms extreme interest
Volume quality matters - Green/lime bars better than gray
Combine with price action - Rotation confirms, patterns trigger
Know when you're late - 2x+ rotation is late stage
Check your float data - Wrong float = wrong rotation calculation
Happy Trading! 🔥
Gap & Go Day Trading Tool - Key Levels, Alerts & Setup GradingVisualizes Gap & Go setups with automatic gap detection, pre-market levels, and breakout signals. Shows: ✅ Gap % with quality rating (5%/10%/20%+) ✅ Pre-market high/low ✅ First candle range ✅ 50% gap fill target ✅ VWAP ✅ Relative volume. Includes setup grading system (A+ to C), entry signals on PM high breakouts, and 6 customizable alerts. Perfect for momentum day traders focusing on gapping stocks.
Full Description
█ OVERVIEW
The Gap & Go indicator automatically identifies and visualizes gap trading setups - one of the most popular momentum day trading strategies. When a stock gaps up significantly from the prior close, it often signals strong buying interest and potential for continuation moves.
This indicator displays all the key levels you need to trade gaps effectively, grades setup quality, and alerts you to breakout opportunities.
█ HOW IT WORKS
The indicator calculates the gap percentage between yesterday's close and today's open, then displays critical support/resistance levels that gap traders watch:
Gap Zone → The price range between prior close and gap open
Pre-Market High/Low → Key breakout and support levels from extended hours
First Candle Range → Opening range that often defines intraday direction
50% Gap Fill → Common retracement target and support level
VWAP → Institutional reference point
█ GAP CLASSIFICATION
Gaps are automatically classified by magnitude:
🔥 Qualifying Gap (5%+) → Meets minimum threshold for gap trading
🔥🔥 Strong Gap (10%+) → Ideal gap size for momentum plays
🔥🔥🔥 Monster Gap (20%+) → Exceptional move requiring extra attention
Background color changes based on gap quality for instant visual identification.
█ SETUP GRADING SYSTEM
The indicator grades each setup from A+ to C based on multiple factors:
- Gap magnitude (qualifying vs strong)
- Relative volume (2x+ vs 5x+ average)
- Price position relative to VWAP
A+ Setup (4-5 points) → High probability
A Setup (3 points) → Good setup
B Setup (2 points) → Moderate
C Setup (0-1 points) → Weak/avoid
█ ENTRY SIGNALS
Triangle signals appear when price breaks above key levels:
▲ Lime Triangle → Breaking above Pre-Market High
▲ Aqua Triangle → Breaking above First Candle High
Signals require volume confirmation by default (configurable).
█ KEY LEVELS DISPLAYED
- Prior Close (Orange) → Gap reference point
- Pre-Market High (Lime) → Primary breakout level
- Pre-Market Low (Red) → Support if gap fails
- First Candle Range (Aqua box) → Opening range breakout levels
- 50% Gap Fill (Yellow dotted) → Common support/target
- VWAP (Purple) → Institutional pivot
█ INFO TABLE
Real-time dashboard showing:
- Gap % with quality emoji
- Relative Volume with status
- All key price levels
- Breakout status (✓ if broken)
- Distance from PM High
- Setup Grade
█ ALERTS INCLUDED
6 customizable alerts:
1. Qualifying Gap Detected (5%+)
2. Strong Gap Detected (10%+)
3. Monster Gap Detected (20%+)
4. Pre-Market High Breakout
5. First Candle High Breakout
6. 50% Gap Fill Test
7. Full Gap Fill (setup invalidated)
█ SETTINGS
Gap Settings
- Minimum gap % threshold
- Strong gap % threshold
- Monster gap % threshold
Volume Settings
- Enable/disable relative volume filter
- Minimum RVol requirement
- Strong RVol threshold
- RVol calculation period
Level Settings
- Toggle each level type on/off
- Show/hide gap zone
- Show/hide VWAP
Signal Settings
- Breakout signal type (PM High, First Candle, Both)
- Volume confirmation requirement
Visual Settings
- Info table position
- Color customization for all levels
█ HOW TO USE
1. Scan for gapping stocks pre-market (use a scanner or watchlist)
2. Apply this indicator to candidates
3. Check the Setup Grade in the info table
4. Wait for price to consolidate near pre-market high
5. Enter on breakout above PM High with volume confirmation
6. Use 50% gap fill or PM Low as stop loss reference
7. Monitor VWAP - staying above is bullish
█ BEST PRACTICES
✓ Focus on A and A+ setups
✓ Require strong relative volume (5x+)
✓ Trade in the direction of the gap (long for gap ups)
✓ Watch for gap fill as potential support
✓ Be cautious if price falls below VWAP
✓ First 30-60 minutes typically have best momentum
█ TIMEFRAME RECOMMENDATIONS
- 1-minute: Scalping, precise entries
- 5-minute: Most common for gap trading (recommended)
- 15-minute: Swing entries, less noise
█ NOTES
- Pre-market levels require extended hours data enabled
- First candle range is based on the first regular market candle
- Works on stocks, ETFs, and futures
- Gaps down are detected but focus is on gap-up setups
█ DISCLAIMER
This indicator is for educational purposes only. Gap trading involves significant risk. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
Oracle Pivot Engine (OPE) — @darshaksscThe Oracle Pivot Engine (OPE) is a market-structure visualization tool that derives all its levels exclusively from historical price data — specifically, the previous day’s high, low, and mid-range.
It does not provide signals, alerts, entries, exits, predictions, or trade recommendations.
Instead, it creates a non-repainting reference framework that helps users observe how the current session interacts with the prior session’s completed price structure.
All calculations are analytical, static, and based on fully closed candles.
🧠 How It Works (Core Logic Explained)
OPE computes the following values from the completed prior daily candle:
Prior-Day High
Prior-Day Low
Prior-Day Midpoint
Displacement Range = High − Low
This displacement range is used to generate symmetrical upward and downward reference zones.
These levels do not update during the session.
They refresh only once per day when a new daily candle closes.
This ensures the indicator remains fully non-repainting and stable on every intraday chart.
📐 Reference Levels Generated
Using the fixed prior-day displacement range, OPE plots:
1. BUY-Side Reference Map (Upward Bias)
BUY Reference Entry
BUY Reference Stop
BUY T1
BUY T2
BUY T3
BUY T4
BUY T5
BUY T6
These are not trade signals — they are mathematical extensions above the prior-day midpoint for structural interpretation only.
2. SELL-Side Reference Map (Downward Bias)
SELL Reference Entry
SELL Reference Stop
SELL T1
SELL T2
SELL T3
SELL T4
SELL T5
SELL T6
Again, these levels are not directives.
They are mirrored displacement extensions below the prior-day midpoint.
📊 Pivot Zone & Bands
The indicator includes optional visual layers derived from the same prior-day pivots:
Pivot High–Low Zone Shading → shows the prior-day full range
Pivot Midline → prior-day mid-price
Outer Displacement Bands → extended contextual boundaries
These are purely visual boundaries meant to improve market context.
🧾 Dashboard / HUD Explanation
A compact on-chart HUD summarizes all values.
It displays:
Section | Information (All Historical)
Prior-Day Pivots | High, Low, Mid, Range
BUY Map | Entry, Stop, T1–T6
SELL Map | Entry, Stop, T1–T6
The HUD allows you to quickly review:
Where the current price is relative to the previous day’s structure
How far price is from each level
Whether the session is operating inside or outside the prior-day displacement zones
Everything shown is static, non-repainting , and for reference only .
📊 How to Analyze It
✔ 1. Contextual Awareness
OPE helps users visually compare current intraday price to prior daily structure.
You can observe whether price is:
Inside yesterday’s high/low zone
Above the prior-day displacement
Below the prior-day displacement
This offers a clearer understanding of daily context and volatility.
✔ 2. Structural Symmetry
The BUY-side and SELL-side maps extend from the same pivot logic.
This can help visualize:
Expansion away from the prior-day midpoint
Compression within the prior-day range
Symmetrical displacement around key reference levels
Again — these are observational insights , not signals.
✔ 3. Range Interaction
As the session unfolds, users often study:
How price reacts around prior-day midpoint
Whether price is gravitating toward or away from the displacement levels
How intraday swings behave within these historical boundaries
This type of analysis is contextual , not predictive.
⚠️ Important Disclosures
This script does NOT generate trading signals.
It does NOT predict future price movement.
It does NOT contain advice, instructions, recommendations, or strategies.
All levels are derived exclusively from historical daily candle data .
This is strictly an informational visualization tool meant to support chart analysis.
Past price levels do not guarantee any future price behavior.
🛑 Disclaimer
This indicator is provided solely for educational and informational purposes.
It should not be interpreted as financial advice or a call to action of any kind.
Users should apply independent judgment and discretion when analyzing markets.
Directional Imbalance Index [BigBeluga]🔵 OVERVIEW
The Directional Imbalance Index is designed to track market strength by counting how often price sets new highs or lows over a defined lookback period. Every time a bar forms a new extreme, the indicator records a +1 count for either bullish (highs) or bearish (lows). These counts are aggregated into a rolling calculation, allowing traders to see which side dominates and how directional imbalance evolves.
🔵 CONCEPTS
Each new highest high → adds a bullish count (+1).
Each new lowest low → adds a bearish count (+1).
Counts are stored inside arrays over a user-defined Calculation Period .
for i = 0 to period-1
h = high
l = low
if h == upper
countUp.push(1)
if l == lower
countDn.push(1)
The balance between bullish and bearish counts highlights dominance and imbalance.
Normalized percentages help compare both sides (e.g., 65% bullish vs 35% bearish).
🔵 FEATURES
Counts new highs/lows over a chosen Highest/Lowest Length .
Aggregates values over a rolling Calculation Period .
Plots cumulative bullish vs bearish totals in the subchart.
Displays % share of bulls vs bears from total counts.
On-chart labels mark bars where a count was added.
Plots reference lines of the current upper (high) and lower (low) ranges.
Dynamic fill between bullish/bearish plots to visualize which side dominates.
🔵 HOW TO USE
Look for persistent bullish imbalance (bull % > bear %) as confirmation of upward momentum.
Look for persistent bearish imbalance (bear % > bull %) as confirmation of downward momentum.
Watch for shifts in % dominance — often early signs of trend reversal or weakening strength.
Use labels on the chart to visually confirm which bars contributed to directional bias.
Combine with trend or volume tools to confirm whether imbalance aligns with market direction.
🔵 CONCLUSION
The Directional Imbalance Index offers a systematic way to measure directional pressure. By counting how often price pushes into new territory, the indicator reveals whether bulls or bears are taking control. This makes it a valuable tool for detecting early signs of trend continuation or exhaustion, helping traders align with the side most likely to dominate.
ICS🏛️ Institutional Confluence Suite (ICS) Indicator
The Institutional Confluence Suite is a powerful and highly customizable TradingView indicator built to help traders identify key institutional trading concepts across multiple timeframes. It visualizes essential market components like Market Structures (MS), Order Blocks (OB)/Breaker Blocks (BB), Liquidity Zones, and Volume Profile, providing a confluence of institutional price action data.
📈 Key Features & Components
1. Market Structures (MS)
Purpose: Automatically identifies and labels shifts in market trends (Market Structure Shift, MSS) and continuations (Break of Structure, BOS).
Timeframe Detection: You can select detection across Short Term, Intermediate Term, or Long Term swings to match your trading horizon.
Visualization: Plots colored lines (Bullish: Teal, Bearish: Red) to mark the structures and optional text labels (BOS/MSS) for clear identification.
2. Order & Breaker Blocks (OB/BB)
Purpose: Detects and projects potential Supply and Demand zones based on recent price action that led to a swing high or low.
Block Types: Distinguishes between standard Order Blocks and Breaker Blocks (OBs that fail to hold and are traded through, often serving as support/resistance in the opposite direction).
Customization:
Detection Term: Adjusts sensitivity (Short, Intermediate, Long Term).
Display Limit: Sets the maximum number of recent Bullish and Bearish blocks to display.
Price Reference: Option to use the Candle Body (Open/Close) or Candle Wicks (High/Low) to define the block boundaries.
Visualization: Displays blocks as colored boxes (Bullish: Green, Bearish: Red) extending into the future, with a dotted line marking the 50% equilibrium level. Breaker Blocks are indicated by a change in color/line style upon being broken.
3. Buyside & Sellside Liquidity (BSL/SSL)
Purpose: Highlights areas where retail stops/limit orders are likely clustered, often represented by a series of relatively equal highs (Buyside Liquidity) or lows (Sellside Liquidity).
Detection Term: Adjustable sensitivity (Short, Intermediate, Long Term).
Margin: Uses a margin (derived from ATR) to group similar swing points into a single liquidity zone.
Visualization: Plots a line and text label marking the swing point, and a box indicating the clustered liquidity zone.
4. Liquidity Voids (LV) / Fair Value Gaps (FVG)
Purpose: Identifies areas where price moved sharply and inefficiency was created, often referred to as Fair Value Gaps or Imbalances. These are price ranges where minimal trading volume occurred.
Threshold: Uses a multiplier applied to the 200-period ATR to filter for significant gaps.
Mode: Can be set to Present (only show voids near the current price) or Historical (show all detected voids).
Visualization: Fills the price gap with colored boxes (Bullish/Bearish zones), often segmented to represent the price delivery across the gap.
5. Enhanced Liquidity Detection
Purpose: A complementary feature that uses volume and price action to highlight areas of high liquidity turnover, potentially indicating stronger Support and Resistance zones.
Calculation: Utilizes a volume-weighted approach to color-grade liquidity zones based on their significance.
Visualization: Plots shaded boxes (gradient-colored) around swing highs/lows, with text displaying the normalized volume strength.
6. Swing Highs/Lows
Purpose: Directly marks the price points identified as Swing Highs and Swing Lows based on the lookback periods.
Timeframe Detection: Can be enabled for Short Term, Intermediate Term, or Long Term swings.
Visualization: Plots a small colored dot/label (e.g., "⦁") at the swing point.
This indicator is an invaluable tool for traders employing ICT (Inner Circle Trader), Smart Money Concepts (SMC), or general price action strategies, as it automatically aggregates and displays these critical structural and liquidity elements.
MTF Checklist DashboardMTF Checklist Dashboard
Overview
The MTF Checklist Dashboard is an advanced multi-timeframe analysis tool that provides traders with a comprehensive visual dashboard to analyze market conditions across six customizable timeframes simultaneously. This indicator combines multiple technical analysis methods, including Opening Range Breakouts (ORB), VWAP, EMAs, and daily price levels, to generate high-probability confluence-based trading signals.
Unlike traditional single-timeframe indicators, this dashboard displays all critical information in one organized table, allowing traders to instantly identify when multiple timeframes align for optimal entry and exit opportunities.
Key Features
Multi-Timeframe Analysis
Analyzes up to 6 timeframes simultaneously (default: 1m, 5m, 15m, 30m, 1h, 4h)
Fully customizable timeframe selection via comma-separated input
Color-coded cells for instant visual recognition (green=bullish, red=bearish, yellow=neutral)
Technical Indicators Tracked
Current and previous candle direction
Opening Range Breakout (ORB) positioning with custom period
VWAP relationship (above/below)
200 EMA positioning
Daily and previous day high/low proximity
EMA crossovers (9 vs 21, both vs 200)
Advanced Signal Filtering System
Confluence scoring: Requires multiple timeframes to align (3-6 timeframes)
Higher timeframe confirmation: Ensures 30m/1h/4h agreement
Volume filter: Confirms signals with above-average volume (1.5x default)
ATR volatility filter: Validates sufficient market movement
Session timing: Restricts signals to optimal trading hours (EST)
Momentum confirmation: Requires recent directional strength
Range positioning: Blocks signals near daily extremes
Candle strength: Validates strong directional candles (60%+ body ratio)
Visual Signals
Optional entry arrows (above/below bars)
Background color highlighting
Organized dashboard with real-time price levels
ORB range, current day, and previous day summary rows
Alert Conditions
JSON-formatted alerts for automated trading integration
Separate alerts for long entry, short entry, long exit, and short exit
Compatible with webhook automation systems
How To Use
Dashboard Interpretation
The dashboard displays a color-coded table with the following columns:
TF: Timeframe being analyzed
C: Current candle (Green=bullish, Red=bearish)
P: Previous candle (Green=bullish, Red=bearish)
ORB: Opening Range Breakout position (A=Above, B=Below, W=Within)
VWAP: Price vs VWAP (A=Above, B=Below)
E200: Price vs 200 EMA (A=Above, B=Below)
D Hi/Lo: Proximity to current day high/low (Hi/Lo/Mid)
PD Hi/Lo: Proximity to previous day high/low (Hi/Lo/Mid)
9 vs 21: EMA 9 vs EMA 21 relationship (A=9 above 21, B=9 below 21)
9&21 v200: Both EMAs vs 200 EMA (>>=both above, <<=both below, <>=mixed)
Signal Generation
Long Entry Signal triggers when:
Minimum number of timeframes show bullish alignment (default: 5 of 6)
Higher timeframes (30m/1h/4h) confirm direction (default: 2 of 3)
Price breaks above ORB high with sufficient distance
Volume exceeds average by specified multiplier
ATR shows adequate volatility
Trade occurs during optimal session hours
Recent momentum is upward
Price not too close to daily high
Strong bullish candle forms
Short Entry Signal uses opposite conditions
Exit Signals trigger when opposing timeframe confluence reaches threshold (default: 3 timeframes)
Recommended Workflow
Select your asset and primary trading timeframe
Observe the dashboard - Look for rows showing mostly green (bullish) or red (bearish)
Wait for alignment - The indicator will show arrows when confluence requirements are met
Check the bottom rows - Review ORB levels and daily ranges for context
Set alerts - Enable TradingView alerts using the built-in alert conditions
Manage risk - Use appropriate position sizing and stop losses based on ORB range or daily ATR
Settings Guide
Basic Settings
Timeframes: Enter comma-separated values (e.g., "1,5,15,30,60,240")
Show Header: Toggle column headers on/off
ORB Minutes: Set opening range period (default: 15 minutes)
Near % for daily highs/lows: Define proximity threshold (default: 0.20%)
Use close for comparisons: Compare using close vs current price
Dashboard Position: Choose from 9 screen positions
Confluence Filters
Minimum Timeframes Aligned: Set required confluence (3-6, default: 5)
Require Higher Timeframe Confirmation: Toggle HTF requirement on/off
Min Higher Timeframes: Specify HTF agreement needed (1-3, default: 2)
Volume Filter
Volume Confirmation: Enable/disable volume filtering
Volume vs Average: Set multiplier threshold (default: 1.5x)
Volume Average Length: Period for volume average (default: 20 bars)
Volatility Filter (ATR)
Volatility Filter: Enable/disable ATR confirmation
ATR Length: Calculation period (default: 14)
Min ATR vs Average: Required ATR level (default: 0.5x = 50%)
ORB Filters
ORB Breakout Distance Required: Toggle distance requirement
Min Breakout % Beyond ORB: Additional breakout threshold (default: 0.10%)
Session Filter
Trade Only During Best Hours: Enable time-based filtering
Session 1: First trading window (default: 0930-1130 EST)
Session 2: Second trading window (default: 1400-1530 EST)
Momentum Filter
Recent Momentum Required: Enable directional momentum check
Lookback Bars: Period for momentum comparison (default: 3 bars)
Daily Range Filter
Block Signals Near Daily Extremes: Prevent entries at extremes
Distance from High/Low %: Minimum distance required (default: 2.0%)
Candle Filter
Strong Directional Candle: Require candle strength
Min Candle Body %: Body-to-range ratio threshold (default: 60%)
Visual Signals
Show Entry Signals: Master toggle for visual signals
Show Arrows: Display entry arrows on chart
Background Color: Enable background highlighting
Best Practices
Start with default settings and adjust based on your trading style and asset volatility
Higher confluence requirements (5-6 timeframes) produce fewer but higher-quality signals
Enable all filters for conservative trading; disable some for more frequent signals
Use the dashboard as confirmation alongside your existing trading strategy
Backtest on your specific instruments before live trading
Consider market conditions—trending vs ranging markets may require different settings
Alerts
This indicator includes four alert conditions with JSON formatting for webhook integration:
Long Entry Signal: Triggers when all long conditions are met
Short Entry Signal: Triggers when all short conditions are met
Long Exit Signal: Triggers when opposing confluence reaches exit threshold
Short Exit Signal: Triggers when opposing confluence reaches exit threshold
Alert messages include ticker symbol, action (buy/sell), price, and quantity for automated trading systems.
Important Notes
This indicator works best on liquid instruments with clear price action
Highly volatile markets may require adjusted ATR and ORB distance settings
Session times are in EST timezone—adjust if trading non-US markets
The ORB calculation requires sufficient price history for the day
Signals are generated in real-time but should be confirmed at candle close
Limitations
Maximum of 6 timeframes can be analyzed due to TradingView's security call limits
ORB calculations may not work correctly on instruments with gaps or irregular sessions
The indicator is most effective during regular market hours when volume and volatility are adequate
Lower timeframes (1m, 5m) may produce more false signals in choppy conditions
License
Mozilla Public License 2.0 (MPL-2.0)
This indicator is licensed under the Mozilla Public License 2.0. You are free to use, modify, and distribute this code under the terms of the MPL-2.0. The full license text is available at mozilla.org
Key license provisions:
You may use this code commercially
You may modify and distribute modified versions
Modified versions must be released under the same license
You must include the original license notice in any distributions
No trademark rights are granted
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and past performance does not guarantee future results. Trading involves substantial risk of loss. Always:
Practice proper risk management
Test thoroughly on paper/demo accounts before live trading
Use appropriate position sizing
Never risk more than you can afford to lose
Consult with a financial advisor for personalized advice
The creator assumes no liability for trading losses incurred using this indicator.
Version: 2.0
Pine Script Version: v6
Author: © EliasVictor
Market Structure Volume Time Velocity ProfileThis is the Market Structure Volume Time Velocity Profile (MSVTVP). It combines event-based profiling with advanced metrics like Time and Velocity (Flow Rate). Instead of fixed time periods, profiles are anchored to critical market events (Swings, Structure Breaks, Delta Breaks), giving you a precise view of value development during specific market phases.
## The 3 Dimensions of the Market
Unlike standard tools that only show Volume, MSVTVP allows you
to switch between three critical metrics:
1. **VOLUME Profile (The "Where"):**
* Shows standard acceptance. High volume nodes (HVN)
are magnets for price.
2. **TIME Profile (The "How Long"):**
* Similar to TPO, it measures how long price spent at each
level.
* **High Time:** True acceptance and fair value.
* **Low Time:** Rejection or rapid movement.
3. **VELOCITY Profile (The "How Fast"):**
* Measures the **speed of trading** (Contracts per Second).
This reveals the hidden intent of market participants.
* **High Velocity (Fast Flow):** Aggression. Initiative
buyers/sellers are hitting market orders rapidly. Often
seen at breakouts or in liquidity vacu.
* **Low Velocity (Slow Flow):** Absorption. Massive passive
limit orders are slowing price down despite high volume.
Often seen at major reversals ("hitting a brick wall").
Key Features:
1. **Event-Based Profile Anchoring:** The indicator starts a new
profile based on one of three user-selected events
('Profile Anchor'):
- **Swing:** A new profile begins when the 'impulse baseline'
(derived from intra-bar delta) changes. This baseline
adjusts when a new **price pivot** is confirmed: When a
price **high** forms, the baseline moves to the **lower**
of its previous level or the peak delta (max of
delta O/C) at the pivot. When a price **low** forms, it
moves to the **higher** of its previous level or the
trough delta (min of delta O/C) at the pivot.
- **Structure:** A new profile begins immediately on the bar
that *confirms* a market structure break (e.g., a new HH
or LL, based on a sequence of price pivots).
- **Delta:** A new profile begins immediately on the bar
that *confirms* a break in the *cumulative delta's*
market structure (e.g., a new HH or LL in the delta).
Both 'Swing' and 'Delta' anchors are derived from the same
**continuous (non-resetting) Cumulative Volume Profile Delta (CVPD)**,
which is built from the intra-bar statistical analysis.
2. **Statistical Profile Engine:** For each bar in the anchored
period, the indicator builds a volume profile on a lower
'Intra-Bar Timeframe'. Instead of simple tick counting, it
uses advanced statistical models:
- **Allocation ('Allot model'):** 'PDF' (Probability Density
Function) distributes volume proportionally across the
bar's range based on an assumed statistical model
(e.g., T4-Skew). 'Classic' assigns all volume to
the close.
- **Buy/Sell Split ('Volume Estimator'):** 'Dynamic'
applies a model that analyzes candle wicks and
recent trend to estimate buy/sell pressure. 'Classic'
classifies all volume based on the candle color.
3. **Visualization & Lag:** The indicator plots the final
profile (as a polygon) and the developing statistical
lines (POC, VA, VWAP, StdDev).
- **Note on Lag:** All anchor events require `Pivot Right Bars`
for confirmation.
- In 'Structure' and 'Delta' mode, the developing lines
(POC, VA, etc.) are plotted using a **non-repainting**
method (showing the value from `pivRi` bars ago).
- In 'Swing' mode, the profile is plotted **retroactively**,
starting *from the bar where the pivot occurred*. The
developing lines are also plotted with this full
`pivRi` lag to align with the past data.
4. **Flexible Display Modes:** The finalized profile can be displayed
in three ways: 'Up/Down' (buy vs. sell), 'Total' (combined
volume), and 'Delta' (net difference).
5. **Dynamic Row Sizing:** Includes an option ('Rows per Percent')
to automatically adjust the number of profile rows (buckets)
based on the profile's price range.
6. **Integrated Alerts:** Includes 13 alerts that trigger for:
- A new profile reset ('Profile was resetted').
- Price crossing any of the 6 developing levels (POC,
VA High/Low, VWAP, StdDev High/Low).
- **Alert Lag Assumption:** In 'Swing' mode, alerts are
delayed to match the retroactively plotted lines.
In 'Structure' and 'Delta' modes, alerts fire in
**real-time** based on the *current price* crossing
the *current (repainting)* value of the metric, which
may **differ from the non-repainting plotted line.**
**Caution: Real-Time Data Behavior (Intra-Bar Repainting)**
This indicator uses high-resolution intra-bar data. As a result, the
values on the **current, unclosed bar** (the real-time bar) will
update dynamically as new intra-bar data arrives. This includes
the values used for real-time alerts in 'Structure' and
'Delta' modes.
---
**DISCLAIMER**
1. **For Informational/Educational Use Only:** This indicator is
provided for informational and educational purposes only. It does
not constitute financial, investment, or trading advice, nor is
it a recommendation to buy or sell any asset.
2. **Use at Your Own Risk:** All trading decisions you make based on
the information or signals generated by this indicator are made
solely at your own risk.
3. **No Guarantee of Performance:** Past performance is not an
indicator of future results. The author makes no guarantee
regarding the accuracy of the signals or future profitability.
4. **No Liability:** The author shall not be held liable for any
financial losses or damages incurred directly or indirectly from
the use of this indicator.
5. **Signals Are Not Recommendations:** The alerts and visual signals
(e.g., crossovers) generated by this tool are not direct
recommendations to buy or sell. They are technical observations
for your own analysis and consideration.
Easy [CHE] Easy — Minimalist Pine Script for detecting EMA direction changes to define fixed price zones for simple support and resistance visualization, ideal for manual trading workflows.
Summary
This indicator's programming is kept minimalist and super simple, with core logic in under 20 lines for easy comprehension and modification. It creates fixed price zones based on divergences between a base exponential moving average and its smoother counterpart, helping traders spot potential consolidation or reversal areas without dynamic adjustments. By locking the zone at the high and low of the signal bar, it avoids over-expansion in volatile conditions, offering a stable reference line colored by price position relative to the zone. This approach differs from expanding channels by prioritizing simplicity and persistence until a new qualifying signal, reducing visual clutter while highlighting directional bias through midpoint coloring.
Motivation: Why this design?
Traders often face noisy signals from moving averages that flip frequently in sideways markets or lag during breakouts, leading to premature entries or missed opportunities. This indicator addresses that by focusing on confirmed direction shifts between the base and smoothed averages, then anchoring a non-expanding zone to capture the initial price range of the shift. The result is a cleaner tool for marking equilibrium levels, assuming price respects these bounds in ranging or mildly trending conditions.
What’s different vs. standard approaches?
- Reference baseline: Traditional moving average crossovers or simple channels that update every bar.
- Architecture differences:
- Zones are set only on new divergence signals and remain fixed until reset by a gap from the prior zone.
- No ongoing high-low expansion; relies on persistent variables to hold bounds across bars.
- Midpoint plotting with conditional coloring based on close position, plus a highlight for zone initiations.
- Practical effect: Charts show persistent horizontal references instead of drifting lines, making it easier to gauge if price is rejecting or embracing the zone—useful for avoiding false breaks in low-volatility setups.
How it works (technical)
The indicator first computes a base exponential moving average of closing prices over a user-defined length, then applies a second exponential moving average to smooth that base. It checks if both the base and smoothed values are increasing or decreasing compared to their prior values, indicating aligned direction. A signal triggers when this alignment breaks, marking a potential shift.
On a new signal, if the current bar's high and low fall outside any existing zone (or none exists), the zone bounds update to those extremes and persist via dedicated variables. The midpoint of these bounds becomes the primary plot line, colored green if below the close (bullish lean), red if above (bearish lean), or gray otherwise. A secondary thick line highlights the midpoint briefly when a zone first sets, aiding visual confirmation. No higher timeframe data or external fetches are used, so updates occur on each bar close without lookahead.
Parameter Guide
EMA Length — Sets the period for the base moving average; longer values smooth more, reducing signal frequency but increasing lag. Default: 50. Trade-offs/Tips: Shorter for faster response in intraday charts (risks noise); longer for daily trends (may miss early shifts).
Smoother Length — Defines the period for the secondary smoothing on the base average; higher values dampen minor wiggles for stabler direction checks. Default: 3. Trade-offs/Tips: Keep low (2–5) for sensitivity; increase to 7+ if zones trigger too often in choppy markets, at cost of delayed signals.
Reading & Interpretation
The main circle plot at the zone midpoint serves as a dynamic equilibrium line: green suggests price is above the zone (potential strength), red indicates below (potential weakness), and gray shows containment within bounds (neutral consolidation). A sudden thick foreground line at the midpoint flags a fresh zone start, prompting review of the prior bar's context. Absence of a plot means no active zone, implying reliance on price action alone until the next signal.
Practical Workflows & Combinations
- Trend following: Enter long on green midpoint after a higher low touches the zone lower bound, confirmed by structure like higher highs; filter shorts similarly on red with lower highs.
- Exits/Stops: Use the opposite zone bound as a conservative stop (e.g., below lower for longs); trail aggressively to midpoint on strong moves, tightening near gray neutrality.
- Multi-asset/Multi-TF: Defaults work across forex and stocks on 1H–Daily; for crypto volatility, shorten EMA Length to 20–30. Pair with volume oscillators for confirmation, avoiding isolated use.
Behavior, Constraints & Performance
- Repaint/confirmation: Plots update on bar close using historical closes, so confirmed signals hold; live bars may shift until close but without future references.
- security()/HTF: Not used, eliminating related repaint risks.
- Resources: Minimal overhead—no loops, arrays, or bar limits exceeded; suitable for real-time on any timeframe.
- Known limits: Fixed zones may lag in strong trends (price drifts away without reset); signals skip if no gap from prior zone, potentially missing clustered shifts. Assumes standard OHLC data; untested on non-equity assets.
Sensible Defaults & Quick Tuning
Start with EMA Length at 50 and Smoother Length at 3 for balanced daily charts. If signals fire too frequently (e.g., in ranges), extend EMA Length to 100 for fewer but stabler zones. For sluggish response in trends, drop Smoother Length to 2 and EMA Length to 30, monitoring for added noise. In high-vol setups, widen both to 75/5 to filter extremes, trading speed for reliability.
What this indicator is—and isn’t
This is a lightweight visualization layer for EMA-driven zones, aiding manual chart reading and basic signal spotting. It is not a standalone system, predictive model, or automated alert generator—integrate with broader analysis like market structure and risk rules. (Unknown/Optional: No built-in alerts or multi-timeframe scaling.)
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Swing High/Low Support ResistanceThis indicator detects recent swing highs and swing lows using Pine Script pivots and marks them with visible chart labels. These points highlight potential turning areas in price action and can help identify short-term support or resistance for intraday or swing trading.
How to Apply
Locate the indicator in TradingView’s “Indicators” library; search by its name or author.
Click the star icon to mark it as a favourite for quick future access.
Apply directly to your chosen chart and timeframe with a single click—no need to enter or paste code.
Adjust the input parameters from the settings panel if desired to personalize swing sensitivity.
Choose Your Timeframe:
Apply to any intraday or swing timeframe; shorter lengths show more frequent pivots.
Set Sensitivity:
Use the “Swing Detection Length” input to adjust how many bars define a pivot, making swings more or less sensitive to price action.
How to Analyze
Swing High Labels: Mark recent local peaks, suggesting resistance zones or possible reversal points.
Swing Low Labels: Highlight recent bottoms, indicating support or bounce areas.
Monitor labels for clustering or repeated appearance at similar levels, which may strengthen their importance as price reacts near those points.
Track how price behaves after forming new pivots—multiple tests can affirm the relevance of a level.
What Traders Should Watch
Price reaction at labeled areas: frequent tests may anticipate reversals or breakouts.
Transition between higher highs/higher lows (uptrend) vs. lower highs/lower lows (downtrend).
Combine the swing levels with other analysis methods, such as volume, RSI, or EMA, for better signal quality.
Features Included
Dynamic swing high and low detection via confirmed pivots.
Direct labeling on the chart for market structure clarity.
No repainting—labels show only after complete formation.
Fully automatic updates as price action unfolds.
No promotional, external, or non-compliant elements; open source and safe for public or private use.
Compliance Notes
No signals, buy/sell calls, financial advice, or performance claims.
No hidden code, advertising, or off-platform contacts.
Pure educational and analytical utility; adheres to all TradingView house rules and script publishing policies.
Disclaimer
This indicator is for informational purposes only and does not constitute advice. Always do your own research and use proper risk management.
Holographic Market Microstructure | AlphaNattHolographic Market Microstructure | AlphaNatt
A multidimensional, holographically-rendered framework designed to expose the invisible forces shaping every candle — liquidity voids, smart money footprints, order flow imbalances, and structural evolution — in real time.
---
📘 Overview
The Holographic Market Microstructure (HMS) is not a traditional indicator. It’s a visual architecture built to interpret the true anatomy of the market — a living data structure that fuses price, volume, and liquidity into one coherent holographic layer.
Instead of reacting to candles, HMS visualizes the market’s underlying micro-dynamics : where liquidity hides, where volume flows, and how structure morphs as smart money accumulates or distributes.
Designed for system-based traders, volume analysts, and liquidity theorists who demand to see the unseen — the invisible grid driving every price movement.
---
🔬 Core Analytical Modules
Microstructure Analysis
Deconstructs each bar’s internal composition to identify imbalance between aggressive buying and selling. Using a configurable Imbalance Ratio and Liquidity Threshold , the algorithm marks low-liquidity zones and price inefficiencies as “liquidity voids.”
• Detects hidden supply/demand gaps.
• Quantifies micro-level absorption and exhaustion.
• Reveals flow compression and expansion phases.
Smart Money Tracking
Applies advanced volume-rate-of-change and price momentum relationships to map institutional activity.
• Accumulation Zones – Where price rises on expanding volume.
• Distribution Zones – Where price declines on rising volume.
• Automatically visualized as glowing boxes, layered through time to simulate footprint persistence.
Fractal Structure Mapping
Reveals the recursive nature of price formation. HMS detects fractal highs/lows, then connects them into an evolving structure.
• Defines nested market structure across multiple scales.
• Maps trend progression and transition points.
• Renders with adaptive glow lines to reflect depth and strength.
Volume Heat Map
Transforms historical volume data into a 3D holographic heat projection.
• Each band represents a volume-weighted price level.
• Gradient brightness = relative participation intensity.
• Helps identify volume nodes, voids, and liquidity corridors.
HUD Display System
Real-time analytical dashboard summarizing the system’s internal metrics directly on the chart.
• Flow, Structure, Smart$, Liquidity, and Divergence — all live.
• Designed for both scalpers and swing traders to assess micro-context instantly.
---
🧠 Smart Money Intelligence Layer
The Smart Money Index dynamically evaluates the harmony (or conflict) between price momentum and volume acceleration. When institutions accumulate or distribute discreetly, volume surges ahead of price. HMS detects this divergence and overlays it as glowing smart money zones.
◈ ACCUM → Institutional absorption, early uptrend formation.
◈ DISTRIB → Distribution and top-heavy conditions.
○ IDLE → Neutral flow equilibrium.
Divergences between price and volume are signaled using holographic alerts ( ⚠ ALERT ) to highlight exhaustion or trap conditions — often precursors to structural reversals.
---
🌀 Fractal Market Structure Engine
The fractal subsystem recursively identifies local pivot symmetry, connecting micro-structural highs and lows into a holographic skeleton.
• Bullish Structure — Higher highs & higher lows align (▲ BULLISH).
• Bearish Structure — Lower highs & lower lows dominate (▼ BEARISH).
• Ranging — Fractal symmetry balance (◆ RANGING).
Each transition is visually represented through adaptive glow intensity, producing a living contour of market evolution .
---
🔥 Volume Heat Map Projection
The heatmap acts as a volumetric X-ray of the recent 100–300 bars. Each horizontal segment reflects liquidity density, rendered with gradient opacity from cold (inactive) to hot (highly active).
• Detects hidden accumulation shelves and distribution ridges.
• Identifies imbalanced liquidity corridors (voids).
• Reveals the invisible scaffolding of the order book.
When combined with smart money zones and structure lines, it creates a multi-layered holographic perspective — allowing traders to see liquidity clusters and their interaction with evolving structure in real time.
---
💎 Holographic Visual Engine
Every element of HMS is dynamically color-mapped to its visual theme . Each theme carries a distinct personality:
Aeon — Neon blue plasma aesthetic; futuristic and fluid.
Cyber — High-contrast digital energy; circuit-like clarity.
Quantum — Deep space gradients; reflective of non-linear flow.
Neural — Organic transitions; biological intelligence simulation.
Plasma — Vapor-bright gradients; high-energy reactive feedback.
Crystal — Minimalist, transparent geometry; pristine data visibility.
Optional Glow Effects and Pulse Animations create a living hologram that responds to real-time market conditions.
---
🧭 HUD Analytics Table
A live data matrix placed anywhere on-screen (top, middle, or side). It summarizes five critical systems:
Flow: Order flow bias — ▲ BUYING / ▼ SELLING / ◆ NEUTRAL.
Struct: Microstructure direction — ▲ BULLISH / ▼ BEARISH / ◆ RANGING.
Smart$: Institutional behavior — ◈ ACCUM / ◈ DISTRIB / ○ IDLE.
Liquid: Market efficiency — ⚡ VOID / ● NORMAL.
Diverg: Price/Volume correlation — ⚠ ALERT / ✓ CLEAR.
Each metric’s color dynamically adjusts according to live readings, effectively serving as a neural HUD layer for rapid interpretation.
---
🚨 Alert Conditions
Stay informed in real time with built-in alerts that trigger under specific structural or liquidity conditions.
Liquidity Void Detected — Market inefficiency or thin volume region identified.
Strong Order Flow Detected — Aggressive buying or selling momentum shift.
Smart Money Activity — Institutional accumulation or distribution underway.
Price/Volume Divergence — Volume fails to confirm price trend.
Market Structure Shift — Fractal structure flips directional bias.
---
⚙️ Customization Parameters
Adjustable Microstructure Depth (20–200 bars).
Configurable Imbalance Ratio and Liquidity Threshold .
Adaptive Smart Money Sensitivity via Accumulation Threshold (%).
Multiple Fractal Depth Layers for precise structural analysis.
Scalable Heatmap Resolution (5–20 levels) and opacity control.
Selectable HUD Position to suit personal layout preferences.
Each parameter adjusts the balance between visual clarity and data density , ensuring optimal performance across intraday and macro timeframes alike.
---
🧩 Trading Application
Identify early signs of institutional activity before breakouts.
Track structure transitions with fractal precision.
Locate hidden liquidity voids and high-value areas.
Confirm strength of trends using order-flow bias.
Detect volume-based divergences that often precede reversals.
HMS is designed not just for observation — but for contextual understanding . Its purpose is to help traders anchor strategies in liquidity and flow dynamics rather than surface-level price action.
---
🪞 Philosophy
Markets are holographic. Each candle contains a reflection of every other candle — a fractal within a fractal, a structure within a structure. The HMS is built to reveal that reflection, allowing traders to see through the market’s multidimensional fabric.
---
Developed by: AlphaNatt
Version: v6
Category: Market Microstructure | Volume Intelligence
Framework: PineScript v6 | Holographic Visualization System
Not financial advice






















